//
// Created by ChaoDONG on 2021-03-24.
//
/* addaword.c -- uses fprintf(), fscanf(), and rewind() */
/* addaword.c -- 使用 fprintf()、fscanf() 和 rewind() */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 41

int main(void)
{
    FILE *fp;
    char words[MAX];
    if ((fp = fopen("wordy", "a+")) == NULL)
    {/* 该程序可以在文件中添加单词。
    * 使用"a+"模式，程序可以对文件进行读写操作
    * */
        fprintf(stdout,"Can't open \"wordy\" file.\n");
        exit(EXIT_FAILURE);
    }
    puts("Enter words to add to the file; press the #");
    puts("key at the beginning of a line to terminate.");
    while ((fscanf(stdin,"%40s", words) == 1) && (words[0] != '#'))
        fprintf(fp, "%s\n", words);
    /* fprintf()和fscanf()函数都把FILE指针作为第1个参数，
     * 而不是最后一个参数 */
    puts("File contents:");
    rewind(fp); /* 返回到文件开始处 */
    while (fscanf(fp,"%s",words) == 1)
        puts(words);
    puts("Done!");
    if (fclose(fp) != 0)
        fprintf(stderr,"Error closing file\n");
    return 0;
}
